---
title: Effects 特效
icon: Sparkles
relatedFile: app/src/core/service/feedbackService/effectEngine/effectMachine.tsx
---

这是一个特效管理服务，负责在应用程序中添加、更新和渲染各种视觉特效。每个页面或舞台都会拥有一个独立的特效机器实例。

## 特效管理

该服务维护一个特效列表。它允许添加新的特效，并会根据用户设置来决定是否启用特定类型的特效。

## 生命周期与渲染

在每个“帧”或“时间步”（通过 `tick` 方法）中，服务会更新所有当前活跃特效的状态。它会清理那些已经完成生命周期的特效。随后，它会负责渲染所有剩余的活跃特效到项目舞台上。

## API

### `addEffect(effect: Effect)`

向特效机器中添加单个特效。如果用户设置中禁用了该特效类型，则不会添加。

### `effectsCount`

获取当前特效机器中活跃特效的数量。

### `addEffects(effects: Effect[])`

批量添加多个特效。同样会根据用户设置过滤掉禁用的特效类型。

### `tick()`

推进特效的时间进度，更新其状态，清理已完成的特效，并渲染所有活跃特效。
